It is extremely common in modern communication systems that a unit which is to transmit a message (here referred to as a “transmitter”) to a unit at a distance (“receiver”) uses the message to generate an encoded signal and transmits the signal (e.g. as a data packet) to the receiver. For this reason, the transmitter includes an encoder and the receiver includes a decoder. Many coding schemes are known, and coding schemes differ in the ratio of the number of bits input to the encoder to the number of bits output from the encoder (the “coding rate”). One well known coding scheme is called Turbo Coding. Many decoders function by a well known process known as forward error correction (FEC).
In the case that the receiver does not correctly receive a signal, it is well known for the receiver to trigger an automatic retransmission of a signal derived from the message. This triggering is known as an automatic repeat request (ARQ). For example, the receiver may trigger the second signal by transmitting to the transmitter a NACK (“no acknowledgement”) signal. The receiver stores the multiple signals it receives, and uses them in combination to try to reconstruct the message (“joint decoding”). Note that the second and subsequent signals may simply be identical to the first signal (in which case the joint decoding is by a process called Chase combining), or they may be different but still derived from the same message (Incremental Redundancy).
Hybrid Automatic Repeat Request (HARQ) signal transmission is defined as any data communication method which combines automatic repeat requests (ARQ) with forward error correction (FEC) and which saves failed decoding attempts for future joint decoding. The principle of HARQ is to buffer data that were not decoded successfully and subsequently combine the buffered data with retransmissions.
To meet the different demands of different services, many modern communication systems need to support a set of coding rates to provide different coding gains for different services. A straightforward method to implement this is to employ multiple encoders in the transmitter and multiple decoders in the receiver, but this method results in huge complexity in the communication equipment. Another more practical method is to employ only one encoder and decoder. The encoder provides a pre-chosen coding rate, and other desired coding rates can be obtained by “rate matching”. That is, when it is desired to transmit data at a coding rate higher than that of the encoder, bits puncturing (i.e. simple omission of bits produced by the encoder) is performed to obtain the desired coding rates. When it is desired to transmit data at a coding rate lower than the pre-chosen coding rate, bit repetition will be conducted to obtain the desired coding rate.
FIG. 1 shows the structure of such a known transmitter. An encoder 1 receives a message to be encoded (from the left of the diagram), encodes it, and transmits it to a rate matching unit 3, which performs puncturing or bit repetition to produce a desired coding rate. The resultant data is then transmitted to an signal transmission unit 5 for transmission. For example, in the case that the transmission is by radio, the signal transmission unit 5 may be an aerial unit, but the present invention is not limited in this respect.
The corresponding known receiver is shown in FIG. 2, and corresponds to what is shown in the standard document “3GPP TR25.848: Physical layer aspects of UTRA high speed downlink packet access” (the disclosure of which is incorporated herein by reference in its entirety). It includes a decoder 13 selected correspondingly to the encoder 1. The receiver further includes a signal reception unit 7 (e.g. including an aerial unit in the case the transmission is by radio) which receives the signal transmitted by the signal transmission unit 5, and transmits it to a rate dematching unit 9, which converts the rate to one acceptable to the decoder 13. The results are stored in buffer 11, and transmitted to the decoder 13. In the case that the decoder 13 determines (by known algorithms) that there is a fault in the reconstruction of the message, the receiver sends a NACK signal (using components which are not shown in FIG. 2) to the transmitter of FIG. 1. The transmitter then sends the next signal derived from the message. The newly received signal is added to the buffer 11. The decoder 13 then performs joint decoding of the multiple received versions of the signal.
The buffer 11 requires quite a large memory size for high data rate communications. For example, 3rd generation mobile wireless communications will support peak data rate of 2 Mbps to 10 Mbps. Therefore, this extra buffer memory will introduce a lot of cost to the user equipment.